Kontent Xavfsizlik Siyosati (CSP) va boshqa frontend xavfsizlik sarlavhalari bo'yicha to'liq qo'llanma, veb-ilovalarini hujumlardan himoya qiladi va global miqyosda foydalanuvchi xavfsizligini oshiradi.
Frontend Xavfsizlik Sarlavhalari: Kontent Xavfsizlik Siyosati (CSP)ni O'zlashtirish
Bugungi raqamli dunyoda veb-ilovalar tobora murakkablashib, bir-biriga bog'lanib borayotgan bir paytda, xavfsizlik tahdidlaridan himoyalanish eng muhim vazifadir. Garchi backend xavfsizligiga ko'pincha katta e'tibor berilsa-da, frontend xavfsizligi ham xuddi shunday muhimdir. Frontend xavfsizlik sarlavhalari birinchi himoya chizig'i bo'lib, brauzerga o'zini qanday tutishni va foydalanuvchilarni turli hujumlardan himoya qilishni ko'rsatuvchi mexanizmni ta'minlaydi. Ushbu sarlavhalar orasida Kontent Xavfsizlik Siyosati (CSP) keng ko'lamli xavflarni kamaytirish uchun kuchli vosita sifatida ajralib turadi.
Frontend Xavfsizlik Sarlavhalari Nima?
Frontend xavfsizlik sarlavhalari - bu veb-server brauzerga yuboradigan HTTP javob sarlavhalari. Ushbu sarlavhalarda brauzer qabul qilgan kontentni qanday ishlashi kerakligi haqida ko'rsatmalar mavjud. Ular quyidagi kabi keng tarqalgan hujumlarning oldini olishga yordam beradi:
- Saytlararo skripting (XSS): Ishonchli veb-saytlarga zararli skriptlarni kiritish.
- Klikjeking: Foydalanuvchilarni o'zlari ko'rib turgan narsadan farqli narsani bosishga aldash.
- "O'rtadagi odam" hujumlari: Foydalanuvchi va server o'rtasidagi aloqani ushlab qolish.
Eng muhim frontend xavfsizlik sarlavhalaridan ba'zilari:
- Kontent Xavfsizlik Siyosati (CSP): Brauzerga resurslarni qaysi manbalardan yuklashga ruxsat berilganligini belgilaydi.
- Strict-Transport-Security (HSTS): Brauzerni veb-sayt bilan barcha aloqalar uchun HTTPS dan foydalanishga majbur qiladi.
- X-Frame-Options: Veb-saytni iframe'ga joylashtirishni oldini oladi va klikjeking hujumlarini kamaytiradi.
- X-XSS-Protection: Brauzerning o'rnatilgan XSS filtrini yoqadi. (Eslatma: Ko'pincha CSP tomonidan o'rnini bosadi, lekin hali ham himoya qatlamini ta'minlashi mumkin).
- Referrer-Policy: So'rovlar bilan yuboriladigan referrer ma'lumotlari miqdorini nazorat qiladi.
- Feature-Policy (hozirda Permissions-Policy): Dasturchilarga brauzer xususiyatlari va API'larini tanlab yoqish va o'chirish imkonini beradi.
Kontent Xavfsizlik Siyosati (CSP)ni Chuqur O'rganish
Kontent Xavfsizlik Siyosati (CSP) - bu foydalanuvchi agentiga ma'lum bir sahifa uchun qaysi resurslarni yuklashga ruxsat berilganligini nazorat qiluvchi HTTP javob sarlavhasi. U tasdiqlangan kontent manbalarining oq ro'yxatini tuzadi va shu bilan XSS hujumlari xavfini sezilarli darajada kamaytiradi. Skriptlar, uslublar jadvallari, rasmlar va shriftlar kabi resurslarni yuklash mumkin bo'lgan manbalarni aniq belgilash orqali, CSP tajovuzkorlarning veb-saytingizga zararli kod kiritishini ancha qiyinlashtiradi.
CSP Qanday Ishlaydi
CSP brauzerga turli xil kontent turlari uchun tasdiqlangan manbalar ro'yxatini taqdim etish orqali ishlaydi. Brauzer CSP'ni buzadigan resursga duch kelganda, u resursni bloklaydi va buzilish haqida xabar beradi. Ushbu bloklash mexanizmi, agar tajovuzkor uni HTML'ga kirita olsa ham, zararli kodning bajarilishini oldini oladi.
CSP Direktivalari
CSP direktivalari CSP siyosatining asosiy tarkibiy qismlaridir. Ular turli xil resurslar uchun ruxsat etilgan manbalarni belgilaydi. Eng ko'p ishlatiladigan direktivalardan ba'zilari:
- default-src: Barcha resurs turlari uchun standart manbani o'rnatadi. Bu boshqa aniqroq direktivalar belgilanmaganda qo'llaniladigan zaxira direktivadir.
- script-src: JavaScript uchun ruxsat etilgan manbalarni belgilaydi.
- style-src: CSS uslublar jadvallari uchun ruxsat etilgan manbalarni belgilaydi.
- img-src: Rasmlar uchun ruxsat etilgan manbalarni belgilaydi.
- font-src: Shriftlar uchun ruxsat etilgan manbalarni belgilaydi.
- media-src: Audio va video uchun ruxsat etilgan manbalarni belgilaydi.
- object-src: Flash kabi plaginlar uchun ruxsat etilgan manbalarni belgilaydi. (Iloji bo'lsa, plaginlarga ruxsat berishdan saqlanish tavsiya etiladi).
- frame-src: Freymlar (iframelar) uchun ruxsat etilgan manbalarni belgilaydi.
- connect-src: Tarmoq so'rovlari (AJAX, WebSockets) uchun ruxsat etilgan manbalarni belgilaydi.
- base-uri:
<base>elementida ishlatilishi mumkin bo'lgan URL'larni cheklaydi. - form-action: Formalar yuborilishi mumkin bo'lgan URL'larni cheklaydi.
- frame-ancestors:
<frame>,<iframe>,<object>,<embed>yoki<applet>yordamida sahifani joylashtirishi mumkin bo'lgan yaroqli ota-onalarni belgilaydi. Ushbu direktiva Klikjekingdan himoya qiladi. - upgrade-insecure-requests: Foydalanuvchi agentlariga saytning barcha xavfsiz bo'lmagan URL'larini (HTTP orqali yuklangan) go'yo ular xavfsiz URL'lar (HTTPS orqali yuklangan) bilan almashtirilgandek ko'rib chiqishni buyuradi. Ushbu direktiva HTTP'dan HTTPS'ga o'tayotgan veb-saytlar uchun mo'ljallangan.
- report-uri: Brauzer CSP buzilishlari haqida hisobotlarni yuborishi kerak bo'lgan URL'ni belgilaydi. `report-to` foydasiga eskirgan.
- report-to: `Report-To` sarlavhasida belgilangan guruh nomini ko'rsatadi. Bu bir nechta hisobot berish nuqtalarini belgilashni o'z ichiga olgan holda, hisobot berishni yanada nozik nazorat qilish imkonini beradi.
CSP Manba Qiymatlari
Manba qiymatlari resurslarni yuklashga ruxsat berilgan manbalarni belgilaydi. Ba'zi umumiy manba qiymatlari:
- *: Har qanday manbadan kontentga ruxsat beradi (Buni production'da ishlatishdan saqlaning!).
- 'self': Himoyalangan hujjat bilan bir xil manbadan (sxema, xost va port) kontentga ruxsat beradi.
- 'none': Hech qanday manbadan kontentga ruxsat bermaydi.
- 'unsafe-inline': Inline JavaScript va CSS dan foydalanishga ruxsat beradi (Buni production'da ishlatishdan saqlaning!).
- 'unsafe-eval': Dinamik kodni baholashdan foydalanishga ruxsat beradi (masalan,
eval(),Function()) (Buni production'da ishlatishdan saqlaning!). - 'strict-dynamic': Belgilanishda mavjud bo'lgan skriptga nonce yoki xesh bilan birga berilgan ishonchning, o'sha ajdod tomonidan yuklangan barcha skriptlarga tarqalishini belgilaydi.
- 'unsafe-hashes': Muayyan inline hodisa ishlovchilariga ruxsat beradi. Bu odatda murakkabligi va cheklangan foydasi tufayli tavsiya etilmaydi.
- data:: Ma'lumotlar URL'laridan resurslarni yuklashga ruxsat beradi (masalan, o'rnatilgan rasmlar). Ehtiyotkorlik bilan foydalaning.
- mediastream:: `mediastream:` URI'larini media manbasi sifatida ishlatishga ruxsat beradi.
- blob:: `blob:` URI'larini media manbasi sifatida ishlatishga ruxsat beradi.
- filesystem:: Resurslarni fayl tizimidan yuklashga ruxsat beradi.
- https://example.com: Muayyan domen va portdan kontentga ruxsat beradi.
- *.example.com: example.com'ning istalgan subdomenidan kontentga ruxsat beradi.
- nonce-{tasodifiy-qiymat}: Mos keladigan nonce atributiga ega skriptlar yoki uslublarga ruxsat beradi. Bu har bir so'rov uchun server tomonida tasodifiy nonce qiymatini yaratishni talab qiladi.
- sha256-{xesh-qiymati}: Mos keladigan SHA256, SHA384 yoki SHA512 xeshiga ega skriptlar yoki uslublarga ruxsat beradi.
CSP Rejimlari: Majburiy va Faqat Hisobot
CSP ikki rejimda qo'llanilishi mumkin:
- Majburiy Rejim: Ushbu rejimda brauzer CSP'ni buzadigan har qanday resurslarni bloklaydi. Bu production muhitlari uchun tavsiya etilgan rejim. CSP `Content-Security-Policy` sarlavhasi yordamida yuboriladi.
- Faqat Hisobot Rejimi: Ushbu rejimda brauzer CSP buzilishlari haqida xabar beradi, lekin resurslarni bloklamaydi. Bu CSP'ni majburiy qilishdan oldin uni sinab ko'rish va baholash uchun foydalidir. CSP `Content-Security-Policy-Report-Only` sarlavhasi yordamida yuboriladi.
CSP'ni Amalga Oshirish: Bosqichma-bosqich Qo'llanma
CSP'ni amalga oshirish murakkab tuyulishi mumkin, ammo tizimli yondashuvga amal qilib, veb-ilovangizni samarali himoya qilishingiz mumkin.
1. Faqat Hisobot Siyosatidan Boshlang
Ishni CSP'ni faqat hisobot rejimida joylashtirishdan boshlang. Bu sizga veb-saytingizning funksionalligini buzmasdan buzilishlarni kuzatish imkonini beradi. Buzilish hisobotlarini belgilangan nuqtaga yuborish uchun report-uri yoki report-to direktivasini sozlang.
Sarlavha misoli (Faqat Hisobot):
Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-report
2. Buzilish Hisobotlarini Tahlil Qiling
Qaysi resurslar va nima uchun bloklanayotganini aniqlash uchun buzilish hisobotlarini diqqat bilan tahlil qiling. Bu sizga veb-saytingizning resurslarga bog'liqligini tushunishga va potentsial xavfsizlik zaifliklarini aniqlashga yordam beradi.
Buzilish hisobotlari odatda JSON yuklamalari sifatida sozlanga report-uri yoki report-to nuqtasiga yuboriladi. Ushbu hisobotlarda buzilish haqida ma'lumotlar, masalan, bloklangan URI, buzilgan direktiva va hujjat URI'si mavjud bo'ladi.
3. CSP Siyosatini Takomillashtiring
Buzilish hisobotlariga asoslanib, kuchli xavfsizlik holatini saqlab qolgan holda qonuniy resurslarga ruxsat berish uchun CSP siyosatingizni takomillashtiring. Bloklanayotgan resurslar uchun maxsus manba qiymatlarini qo'shing. 'unsafe-inline' dan foydalanmaslik uchun inline skriptlar va uslublar uchun nonces yoki xeshlardan foydalanishni ko'rib chiqing.
4. Majburiy Rejimga O'ting
CSP siyosatingiz qonuniy resurslarni bloklamayotganiga ishonch hosil qilganingizdan so'ng, majburiy rejimga o'ting. Bu qolgan har qanday buzilishlarni bloklaydi va XSS hujumlariga qarshi mustahkam himoya qatlamini ta'minlaydi.
Sarlavha misoli (Majburiy):
Content-Security-Policy: default-src 'self'; script-src 'self' https://example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report
5. CSP Siyosatini Kuzatib Boring va Qo'llab-quvvatlang
CSP "o'rnat va unut" yechimi emas. Veb-saytingiz rivojlanib, yangi xavfsizlik tahdidlari paydo bo'lganda CSP siyosatingizni doimiy ravishda kuzatib borish va yangilab turish muhimdir. Buzilish hisobotlarini muntazam ravishda ko'rib chiqing va kerak bo'lganda siyosatni sozlang.
Amaliy CSP Misollari
Keling, turli stsenariylar uchun ba'zi amaliy CSP misollarini ko'rib chiqaylik:
1 Misol: Oddiy Veb-sayt uchun Asosiy CSP
Ushbu CSP bir xil manbadan kontentga ruxsat beradi va har qanday manbadan rasmlarga ruxsat beradi.
Content-Security-Policy: default-src 'self'; img-src *
2 Misol: Maxsus Skript va Uslub Manbalari bilan CSP
Ushbu CSP bir xil manbadan va ma'lum bir CDN'dan skriptlarga, hamda bir xil manbadan va inline uslublarga ruxsat beradi.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'
3 Misol: Inline Skriptlar uchun Nonces bilan CSP
Ushbu CSP har bir inline skript uchun noyob nonce talab qiladi.
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-r4nd0mn0nc3'
HTML:
<script nonce="r4nd0mn0nc3">console.log('Salom, dunyo!');</script>
Muhim: Nonce qiymati har bir so'rov uchun serverda dinamik ravishda yaratilishi kerak. Bu tajovuzkorlarning nonceni qayta ishlatishini oldini oladi.
4 Misol: Klikjekingning Oldini Olish uchun Freym Ajdodlarini Cheklovchi CSP
Ushbu CSP sahifani `https://example.com` dan tashqari har qanday domendagi iframe'ga joylashtirilishini oldini oladi.
Content-Security-Policy: frame-ancestors 'self' https://example.com
5 Misol: 'strict-dynamic' va 'self' ga zaxira bilan yanada cheklovchi CSP
Ushbu CSP zamonaviy brauzerlar uchun `strict-dynamic` dan foydalanadi, shu bilan birga uni qo'llab-quvvatlamaydigan eski brauzerlarni ham qo'llab-quvvatlaydi. Shuningdek, buzilishlarni kuzatish uchun `report-uri` ni o'z ichiga oladi.
Content-Security-Policy: default-src 'self'; script-src 'strict-dynamic' 'nonce-{random-nonce}' 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report
Server tomonida `{random-nonce}` ni dinamik ravishda yaratilgan nonce qiymati bilan almashtirishni unutmang.
CSP va Yagona Sahifali Ilovalar (SPAs)
SPAlarda CSP'ni amalga oshirish ushbu ilovalarning dinamik tabiati tufayli qiyin bo'lishi mumkin. SPAlar ko'pincha DOMni yaratish va boshqarish uchun JavaScript'ga qattiq tayanadi, bu esa ehtiyotkorlik bilan ishlanmasa, CSP buzilishlariga olib kelishi mumkin.
SPAlarda CSP'ni amalga oshirish uchun ba'zi maslahatlar:
'unsafe-inline'va'unsafe-eval'dan saqlaning: Bu direktivalardan SPAlarda imkon qadar saqlanish kerak. Ular ilovangizning xavfsizligini sezilarli darajada zaiflashtiradi.- Nonces yoki Xeshlardan foydalaning: Inline skriptlar va uslublar uchun nonces yoki xeshlardan foydalaning. Bu SPAlar uchun tavsiya etilgan yondashuv.
- Ishonchli Turlarni (Trusted Types) ko'rib chiqing: Ishonchli Turlar - bu DOM-ga asoslangan XSS zaifliklarini oldini olishga yordam beradigan brauzer API'si. Xavfsizlikni yanada oshirish uchun uni CSP bilan birgalikda ishlatish mumkin.
- CSP-mos freymvorkdan foydalaning: Ba'zi frontend freymvorklari (masalan, maxsus konfiguratsiyaga ega React, Angular va Vue.js) CSP'ni osonroq amalga oshirishga yordam beradigan xususiyatlarni taqdim etadi.
Boshqa Muhim Frontend Xavfsizlik Sarlavhalari
CSP frontend xavfsizligining asos toshi bo'lsa-da, boshqa sarlavhalar keng qamrovli himoya strategiyasini ta'minlashda muhim rol o'ynaydi:
Strict-Transport-Security (HSTS)
Strict-Transport-Security (HSTS) sarlavhasi brauzerga veb-saytga ulanish uchun har doim HTTPS dan foydalanishni buyuradi. Bu aloqani HTTP ga pasaytirishga urinadigan "o'rtadagi odam" hujumlarini oldini oladi.
Sarlavha misoli:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age: Brauzer saytga faqat HTTPS orqali kirishni eslab qolishi kerak bo'lgan vaqtni (soniyalarda) belgilaydi. Production muhitlari uchun 31536000 soniya (1 yil) qiymati tavsiya etiladi.includeSubDomains: HSTS siyosati domening barcha subdomenlariga tegishli ekanligini ko'rsatadi.preload: Domenning brauzerlarga oldindan yuklangan HSTS-yoqilgan domenlar ro'yxatiga kiritilishiga imkon beradi. Bu domeningizni Google tomonidan yuritiladigan HSTS oldindan yuklash ro'yxatiga topshirishni talab qiladi.
X-Frame-Options
X-Frame-Options sarlavhasi veb-saytni iframe'ga joylashtirish mumkinligini nazorat qilish orqali klikjeking hujumlarini oldini oladi.
Sarlavha misoli:
X-Frame-Options: DENY
Mumkin bo'lgan qiymatlar:
DENY: Manbadan qat'i nazar, sahifaning iframe'da ko'rsatilishini oldini oladi.SAMEORIGIN: Sahifani faqat iframe manbasi sahifa manbasiga mos kelgandagina iframe'da ko'rsatishga ruxsat beradi.ALLOW-FROM uri: Sahifani faqat iframe manbasi belgilangan URI'ga mos kelgandagina iframe'da ko'rsatishga ruxsat beradi. Eslatma: Ushbu parametr eskirgan va barcha brauzerlar tomonidan qo'llab-quvvatlanmasligi mumkin.
Eslatma: CSP'dagi frame-ancestors direktivasi freymlashni nazorat qilish uchun yanada moslashuvchan va kuchli usulni taqdim etadi va odatda X-Frame-Options ga nisbatan afzalroqdir.
X-XSS-Protection
X-XSS-Protection sarlavhasi brauzerning o'rnatilgan XSS filtrini yoqadi. Garchi CSP XSS hujumlarini oldini olish uchun mustahkamroq yechim bo'lsa-da, ushbu sarlavha, ayniqsa CSP'ni to'liq qo'llab-quvvatlamaydigan eski brauzerlar uchun qo'shimcha himoya qatlamini ta'minlashi mumkin.
Sarlavha misoli:
X-XSS-Protection: 1; mode=block
1: XSS filtrini yoqadi.0: XSS filtrini o'chiradi.mode=block: XSS hujumi aniqlansa, brauzerga sahifani bloklashni buyuradi.report=uri: XSS hujumi aniqlansa, brauzer hisobot yuborishi kerak bo'lgan URL'ni belgilaydi.
Referrer-Policy
Referrer-Policy sarlavhasi so'rovlar bilan yuboriladigan referrer ma'lumotlari miqdorini nazorat qiladi. Referrer ma'lumotlari foydalanuvchilarni veb-saytlar bo'ylab kuzatish uchun ishlatilishi mumkin, shuning uchun uni nazorat qilish foydalanuvchi maxfiyligini yaxshilashi mumkin.
Sarlavha misoli:
Referrer-Policy: strict-origin-when-cross-origin
Ba'zi umumiy qiymatlar:
no-referrer: Hech qachon Referer sarlavhasini yubormaydi.no-referrer-when-downgrade: TLS (HTTPS) bo'lmagan manbalarga Referer sarlavhasini yubormaydi.origin: Referer sarlavhasida faqat manbani (sxema, xost va port) yuboradi.origin-when-cross-origin: O'zaro manba so'rovlari uchun manbani, bir xil manba so'rovlari uchun esa to'liq URL'ni yuboradi.same-origin: Bir xil manba so'rovlari uchun Referer sarlavhasini yuboradi, lekin o'zaro manba so'rovlari uchun yubormaydi.strict-origin: Protokol xavfsizlik darajasi bir xil bo'lib qolganda (HTTPS'dan HTTPS'ga) faqat manbani yuboradi, lekin kamroq xavfsiz manzilga (HTTPS'dan HTTP'ga) sarlavha yubormaydi.strict-origin-when-cross-origin: Bir xil manba so'rovini bajarayotganda manbani yuboradi. O'zaro manba so'rovlari uchun, protokol xavfsizlik darajasi bir xil bo'lib qolganda (HTTPS'dan HTTPS'ga) faqat manbani yuboradi, lekin kamroq xavfsiz manzilga (HTTPS'dan HTTP'ga) sarlavha yubormaydi.unsafe-url: Manbadan qat'i nazar, Referer sarlavhasida to'liq URL'ni yuboradi. Juda ehtiyotkorlik bilan foydalaning, chunki bu maxfiy ma'lumotlarni fosh qilishi mumkin.
Permissions-Policy (avvalgi Feature-Policy)
Permissions-Policy sarlavhasi (avval Feature-Policy deb nomlangan) dasturchilarga brauzer xususiyatlari va API'larini tanlab yoqish va o'chirish imkonini beradi. Bu ilovangizning hujum maydonini kamaytirishga va foydalanuvchi maxfiyligini yaxshilashga yordam beradi.
Sarlavha misoli:
Permissions-Policy: geolocation=()
Ushbu misol veb-sayt uchun geolokatsiya API'sini o'chiradi.
Permissions-Policy bilan boshqarilishi mumkin bo'lgan boshqa xususiyatlar:
cameramicrophonegeolocationaccelerometergyroscopemagnetometerusbmidipaymentfullscreen
Turli Platformalarda Xavfsizlik Sarlavhalarini O'rnatish
Xavfsizlik sarlavhalarini o'rnatish usuli siz foydalanayotgan veb-server yoki platformaga bog'liq. Mana ba'zi umumiy misollar:
Apache
Apache'da xavfsizlik sarlavhalarini .htaccess fayliga yoki server konfiguratsiya fayliga (httpd.conf) qo'shish orqali o'rnatishingiz mumkin.
.htaccess konfiguratsiyasi misoli:
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Nginx
Nginx'da xavfsizlik sarlavhalarini Nginx konfiguratsiya faylidagi (nginx.conf) server blokiga qo'shish orqali o'rnatishingiz mumkin.
Nginx konfiguratsiyasi misoli:
server {
listen 443 ssl;
server_name example.com;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; report-uri /csp-report";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-Frame-Options "DENY";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "strict-origin-when-cross-origin";
...
}
Node.js (Express)
Node.js'da xavfsizlik sarlavhalarini Helmet kabi middleware yordamida o'rnatishingiz mumkin.
Helmet yordamida misol:
const express = require('express');
const helmet = require('helmet');
const app = express();
app.use(helmet());
// Kerak bo'lsa CSP'ni sozlang
app.use(helmet.contentSecurityPolicy({
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "https://cdn.example.com"],
styleSrc: ["'self'", "'unsafe-inline'"],
imgSrc: ["'self'", "data:"],
reportUri: '/csp-report'
},
}));
app.get('/', (req, res) => {
res.send('Salom Dunyo!');
});
app.listen(3000, () => {
console.log('Server 3000-portda tinglanmoqda');
});
Cloudflare
Cloudflare sizga xavfsizlik sarlavhalarini o'zlarining Sahifa Qoidalari (Page Rules) yoki Transformatsiya Qoidalari (Transform Rules) yordamida o'rnatishga imkon beradi.
Xavfsizlik Sarlavhalaringizni Sinovdan O'tkazish
Xavfsizlik sarlavhalarini amalga oshirgandan so'ng, ularning to'g'ri ishlashiga ishonch hosil qilish uchun ularni sinovdan o'tkazish juda muhimdir. Veb-saytingizning xavfsizlik sarlavhalarini tahlil qilishga yordam beradigan bir nechta onlayn vositalar mavjud:
- SecurityHeaders.com: Xavfsizlik sarlavhalarini tahlil qilish uchun oddiy va samarali vosita.
- Mozilla Observatory: Veb-sayt xavfsizligini, shu jumladan xavfsizlik sarlavhalarini sinash uchun keng qamrovli vosita.
- WebPageTest.org: Sharshara jadvalidagi HTTP sarlavhalarini ko'rish imkonini beradi.
Xulosa
Frontend xavfsizlik sarlavhalari, ayniqsa Kontent Xavfsizlik Siyosati (CSP), veb-ilovalarni turli hujumlardan himoya qilish va foydalanuvchi xavfsizligini oshirish uchun juda muhimdir. Ushbu sarlavhalarni ehtiyotkorlik bilan amalga oshirib va qo'llab-quvvatlab, siz XSS, klikjeking va boshqa xavfsizlik zaifliklari xavfini sezilarli darajada kamaytirishingiz mumkin. Faqat hisobot siyosatidan boshlashni, buzilish hisobotlarini tahlil qilishni, siyosatni takomillashtirishni va keyin majburiy rejimga o'tishni unutmang. Veb-saytingiz rivojlanib, yangi tahdidlar paydo bo'lganda uni xavfsiz saqlash uchun xavfsizlik sarlavhalaringizni muntazam ravishda kuzatib boring va yangilab turing.
Frontend xavfsizligiga proaktiv yondashuvni qo'llash orqali siz foydalanuvchilaringizni va biznesingizni himoya qiladigan xavfsizroq va ishonchliroq veb-ilovalarni yaratishingiz mumkin.